<?php
include_once("../phputil/BDConexion.php");
session_start();
$form=$_SESSION["form"];
if(isset($form)){//compruebo error de sesión

	$form["usr"]=$_REQUEST["usr"];//obtengo datos del request
	$form["pass"]=$_REQUEST["pass"];
	$form["tipo"]=$_REQUEST["tipo"];
	$_SESSION["form"]=$form;

	if(isset($form["usr"]) && isset($form["pass"]) && isset($form["tipo"]) ){//valido los datos del request

		try{
			if(checkUsr($form["tipo"],$form["usr"],$form["pass"]))//compruebo que el usuario en la base de datos
				Header(direcciona($form["tipo"]));//pantalla principal del usuario según el tipo (ciudadano o administrador)
			else
				Header(inicio());//pantalla de acceso si no existe el usuario
		}catch (PDOException $e){
			$error["mensaje"] = "Error en el acceso a la base de datos - ".$e->GetMessage();//Error en la base de datos
			$error["error"]="error";
			$_SESSION["error"]=$error;
			Header(error());//pantalla de error por fallo en la base de datos
		}

	}else{
		$error["mensaje"] = "Error en los datos introducidos ";
		$error["error"]="error";
		$_SESSION["error"]=$error;
		Header(inicio());//pantalla de acceso por fallo en los datos introducidos
	}

}else{
	$error["mensaje"] = "Error en la sesion ";
	$error["error"]="error";
	$_SESSION["error"]=$error;
	Header(error());//pantalla de acceso por fallo en la sesión
}


function direcciona($tipo){
	$ret = "Location: ../administrador/entrada.php";

	if($tipo=="ciudadano"){
		$ret="Location: ../ciudadanos/entrada.php";
	}

	return $ret;
}

function inicio(){

	$_SESSION["form"]=null;
	return "Location: principal.php";
}

function error(){

	$_SESSION["form"]=null;
	return "Location: ../error/error.php";
}
function checkUsr($tipo,$usr,$pass){
	$sql="select * from ".$tipo." where usr = :usr and pass = :pass;";//$tipo es la tabla a la que accedo por eso no se usa con blindValue
	$ret=false;

	$con=conectarBD();
	$stmt=$con->prepare($sql);
	$stmt->bindValue(':usr', $usr);
	$stmt->bindValue(':pass', $pass);
	$stmt->execute();
	$row = $stmt->fetch();
	$error["error"]="nerror";
	if($row){
		$form=$_SESSION["form"];
		$ret=true;
		$form["id"] = $row["id"];
		$_SESSION["idusr"] = $row["id"];
		$_SESSION["form"]=$form;
	}
	else{
		$error["mensaje"] = "Nombre de usuario o contraseña incorrectos";//Error en el login
		$error["error"]="error";
		$_SESSION["error"]=$error;
	}
	//desconectarBD($con);

	return $ret;
}
?>